package org.atfeihu.springcloud.java8;

import org.junit.jupiter.api.Test;

import java.util.Random;
import java.util.function.Supplier;

/**
 * Supplier 接口是一个供给型的接口，其实，说白了就是一个容器，可以用来存储数据，然后可以供其他方法使用的这么一个接口
 *
 * @author wangfeihu
 * @create 2021/9/5 3:06
 */
public class SupplierDemo {

    @Test
    public void testSupplier() {
        // 使用Supplier接口实现方法,只有一个get方法，无参数，返回一个值
        Supplier<Integer> supplier = new Supplier<Integer>() {
            @Override
            public Integer get() {
                //返回一个随机值
                return new Random().nextInt();
            }
        };

        System.out.println(supplier.get());

        Supplier<Integer> supplier2 = () -> new Random().nextInt();
        System.out.println(supplier2.get());

        Supplier<Double> supplier3 = Math::random;
        System.out.println(supplier3.get());
    }
}
